using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using FilteredStatistics.Data;

namespace FilteredStatistics
{
    class Constants
    {
        public static readonly double Delta = 0.00005;

        public static readonly UInt16 SecondsPerMinute = 60;
        public static readonly UInt16 MinutesPerHour = 60;
        public static readonly UInt16 SecondsPerHour = (UInt16)(MinutesPerHour * SecondsPerMinute);

        public static readonly DataVersion CurrentVersion = new DataVersion(3);
        public static readonly string DeserializeMethodNamePrefix = "Deserialize_V";

        public static readonly string DonationReminderDateText = "DonationReminderDate";

        public static readonly string ChartSplitOptionsText = "ChartSplitDistance";
        public static readonly string FiltersSplitOptionsText = "FiltersSplitDistance";
        public static readonly string ChartLineColorOptionsText = "ChartLineColor";
        public static readonly string ChartFillColorOptionsText = "ChartFillColor";
        public static readonly string ChartSelectedColorOptionsText = "ChartSelectedColor";
        public static readonly string ChartValidColorOptionsText = "ChartValidRegionColor";
        public static readonly string ChartXAxisText = "ChartXAxis";
        public static readonly string ChartYAxisGUIDsText = "ChartYAxisGUIDs";

        public static readonly string CriteriaTypesColumnWidthText = "CriteriasTypesColumnWidth";
        public static readonly string NamedZonesColumnWidthText = "NamedZonesColumnWidth";
        public static readonly string OptionsCriteriaTypesColumnWidthText = "OptionsCriteriasTypesColumnWidth";
        public static readonly string OptionsNamedZonesColumnWidthText = "OptionsNamedZonesColumnWidth";

        public static readonly string ExtraDisplayChartsGUIDsText = "ExtraDisplayChartsGUIDs";
        public static readonly Color[] LineChartTypesColors = new Color[]
                    { Color.FromArgb(78, 154, 6),               // Cadence
                      Color.FromArgb(143, 89, 2),               // Elevation
                      Color.FromArgb(193, 125, 17),             // Grade
                      Color.FromArgb(204, 0, 0),                // HeartRate
                      Color.FromArgb(92, 53, 102),              // Power
                      Color.FromArgb(32, 74, 135) };            // Speed

        public static readonly byte DefaultColumnWidth = 60;

        public static readonly string StatisticsColumnsText = "StatisticsColumns";
        public static readonly string TreeListColumnInfoText = "TreeListColumnInfo";
        public static readonly string ColumnGuidText = "ColumnGuid";
        public static readonly string ColumnValueMemberText = "ColumnValueMember";
        public static readonly string ColumnWidthText = "ColumnWidth";
        public static readonly string ColumnVisibilityText = "ColumnVisible";
        public static readonly string FixedColumnCountText = "FixedColumnCount";
        public static readonly string SortedColumnText = "SortedColumn";
        public static readonly string SortedColumnIdText = "SortedColumnGuid";
        public static readonly string SortedColumnTypeText = "SortedColumnType";

        public static readonly string ColoredColumnsText = "ColoredColumns";
        public static readonly string ShowZonesInChartText = "ShowZonesInChart";

        public static readonly string ShowTemplatesModifiedWarningText = "ShowTemplatesModifiedWarning";
        public static readonly string ShowSplitsTemplatesWarningText = "ShowSplitsTemplatesWarning";

        public static readonly string ResultsWindowPositionXText = "ResultsWindowPositionX";
        public static readonly string ResultsWindowPositionYText = "ResultsWindowPositionY";
        public static readonly string ResultsWindowSizeWidthText = "ResultsWindowSizeWidth";
        public static readonly string ResultsWindowSizeHeightText = "ResultsWindowSizeHeight";

        public static readonly string UseMapOverlayHighlightText = "UseMapOverlayHighlight";

        public static readonly String DataHeaderIdString = "Filtered Statistics Plugin made by S->G";
        public static readonly String DataHeaderIdV3String = "Filtered Statistics Plugin V3+ made by S->G";
    }
}
